[INFO] cloning repository https://github.com/battlecode/battlecode-2018
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/battlecode/battlecode-2018" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbattlecode%2Fbattlecode-2018", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbattlecode%2Fbattlecode-2018'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 07edcbb892170ce2baa23158a12c12521e5ecc0b
[INFO] fixing battlecode/battlecode-2018 against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=start=2015 for pr-157817-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbattlecode%2Fbattlecode-2018" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/battlecode/battlecode-2018
[INFO] finished tweaking git repo https://github.com/battlecode/battlecode-2018
[INFO] tweaked toml for git repo https://github.com/battlecode/battlecode-2018 written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/battlecode/battlecode-2018 on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/battlecode/battlecode-2018 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: bindings/Cargo.toml: `build_dependencies` is deprecated in favor of `build-dependencies` and will not work in the 2024 edition
[INFO] [stderr] (in the `battlecode-frankenstein` package)
[INFO] [stderr] warning: bindings/Cargo.toml: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr] warning: `battlecode-frankenstein` (manifest) generated 2 warnings
[INFO] [stderr] warning: battlecode-engine/Cargo.toml: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr] warning: `battlecode-engine` (manifest) generated 1 warning
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded dtoa v0.4.2
[INFO] [stderr]   Downloaded serde_json v1.0.9
[INFO] [stderr]   Downloaded num-traits v0.1.41
[INFO] [stderr]   Downloaded itoa v0.3.4
[INFO] [stderr]   Downloaded serde v1.0.27
[INFO] [stderr]   Downloaded synstructure v0.6.1
[INFO] [stderr]   Downloaded cfg-if v0.1.2
[INFO] [stderr]   Downloaded quote v0.3.15
[INFO] [stderr]   Downloaded backtrace v0.3.5
[INFO] [stderr]   Downloaded serde_derive_internals v0.19.0
[INFO] [stderr]   Downloaded thread_local v0.3.5
[INFO] [stderr]   Downloaded serde_derive v1.0.27
[INFO] [stderr]   Downloaded if_chain v0.1.2
[INFO] [stderr]   Downloaded semver v0.6.0
[INFO] [stderr]   Downloaded regex-syntax v0.4.2
[INFO] [stderr]   Downloaded utf8-ranges v1.0.0
[INFO] [stderr]   Downloaded unicode-xid v0.0.4
[INFO] [stderr]   Downloaded rustc-demangle v0.1.5
[INFO] [stderr]   Downloaded memchr v2.0.1
[INFO] [stderr]   Downloaded itertools v0.6.5
[INFO] [stderr]   Downloaded idna v0.1.4
[INFO] [stderr]   Downloaded toml v0.4.5
[INFO] [stderr]   Downloaded cargo_metadata v0.2.3
[INFO] [stderr]   Downloaded rand v0.3.20
[INFO] [stderr]   Downloaded bitflags v1.0.1
[INFO] [stderr]   Downloaded matches v0.1.6
[INFO] [stderr]   Downloaded quine-mc_cluskey v0.2.4
[INFO] [stderr]   Downloaded getopts v0.2.15
[INFO] [stderr]   Downloaded failure_derive v0.1.1
[INFO] [stderr]   Downloaded clippy v0.0.174
[INFO] [stderr]   Downloaded url v1.6.0
[INFO] [stderr]   Downloaded bitflags v0.9.1
[INFO] [stderr]   Downloaded synom v0.11.3
[INFO] [stderr]   Downloaded either v1.4.0
[INFO] [stderr]   Downloaded failure v0.1.1
[INFO] [stderr]   Downloaded ansi_term v0.9.0
[INFO] [stderr]   Downloaded lazy_static v1.0.0
[INFO] [stderr]   Downloaded syn v0.11.11
[INFO] [stderr]   Downloaded cc v1.0.3
[INFO] [stderr]   Downloaded regex v0.2.5
[INFO] [stderr]   Downloaded pulldown-cmark v0.0.15
[INFO] [stderr]   Downloaded aho-corasick v0.6.4
[INFO] [stderr]   Downloaded libc v0.2.35
[INFO] [stderr]   Downloaded lazy_static v0.2.11
[INFO] [stderr]   Downloaded clippy_lints v0.0.174
[INFO] [stderr]   Downloaded winapi v0.3.3
[INFO] [stderr]   Downloaded unicode-normalization v0.1.5
[INFO] [stderr]   Downloaded backtrace-sys v0.1.16
[INFO] [stderr]   Downloaded winapi-i686-pc-windows-gnu v0.3.2
[INFO] [stderr]   Downloaded winapi-x86_64-pc-windows-gnu v0.3.2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] b6c70fd4e4c784746212eceb06ef666b4f54e10c56e16e2d05cac4ff1ccb04db
[INFO] running `Command { std: "docker" "start" "b6c70fd4e4c784746212eceb06ef666b4f54e10c56e16e2d05cac4ff1ccb04db", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "b6c70fd4e4c784746212eceb06ef666b4f54e10c56e16e2d05cac4ff1ccb04db" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "b6c70fd4e4c784746212eceb06ef666b4f54e10c56e16e2d05cac4ff1ccb04db", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "b6c70fd4e4c784746212eceb06ef666b4f54e10c56e16e2d05cac4ff1ccb04db" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=start=2015", kill_on_drop: false }`
[INFO] [stderr] warning: bindings/Cargo.toml: `build_dependencies` is deprecated in favor of `build-dependencies` and will not work in the 2024 edition
[INFO] [stderr] (in the `battlecode-frankenstein` package)
[INFO] [stderr] warning: bindings/Cargo.toml: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr] warning: `battlecode-frankenstein` (manifest) generated 2 warnings
[INFO] [stderr] warning: battlecode-engine/Cargo.toml: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr] warning: `battlecode-engine` (manifest) generated 1 warning
[INFO] [stderr]    Compiling unicode-xid v0.0.4
[INFO] [stderr]    Compiling synom v0.11.3
[INFO] [stderr]    Compiling quote v0.3.15
[INFO] [stderr]    Compiling cc v1.0.3
[INFO] [stderr]     Checking libc v0.2.35
[INFO] [stderr]     Checking cfg-if v0.1.2
[INFO] [stderr]     Checking rustc-demangle v0.1.5
[INFO] [stderr]     Checking serde v1.0.27
[INFO] [stderr]     Checking dtoa v0.4.2
[INFO] [stderr]     Checking itoa v0.3.4
[INFO] [stderr]     Checking num-traits v0.1.41
[INFO] [stderr]     Checking fnv v1.0.6
[INFO] [stderr]     Checking ansi_term v0.9.0
[INFO] [stderr]    Compiling battlecode-frankenstein v0.1.0 (/opt/rustwide/workdir/bindings)
[INFO] [stderr]    Compiling syn v0.11.11
[INFO] [stderr]     Checking rand v0.3.20
[INFO] [stderr]    Compiling backtrace-sys v0.1.16
[INFO] [stderr]    Compiling synstructure v0.6.1
[INFO] [stderr]    Compiling serde_derive_internals v0.19.0
[INFO] [stderr]    Compiling failure_derive v0.1.1
[INFO] [stderr]    Compiling serde_derive v1.0.27
[INFO] [stderr]     Checking serde_json v1.0.9
[INFO] [stderr]     Checking backtrace v0.3.5
[INFO] [stderr]     Checking failure v0.1.1
[INFO] [stderr]     Checking battlecode-engine v0.1.0 (/opt/rustwide/workdir/battlecode-engine)
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> battlecode-engine/src/controller/streams.rs:37:48
[INFO] [stdout]    |
[INFO] [stdout] 37 |         let mut buf: [u8; 256] = unsafe { mem::uninitialized() };
[INFO] [stdout]    |                                                ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> battlecode-engine/src/controller/streams.rs:37:48
[INFO] [stdout]    |
[INFO] [stdout] 37 |         let mut buf: [u8; 256] = unsafe { mem::uninitialized() };
[INFO] [stdout]    |                                                ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_unit_mut` is never used
[INFO] [stdout]    --> battlecode-engine/src/world.rs:832:8
[INFO] [stdout]     |
[INFO] [stdout] 218 | impl GameWorld {
[INFO] [stdout]     | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 832 |     fn get_unit_mut(&mut self, id: UnitID) -> Result<&mut Unit, GameError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/controller/mod.rs:90:10
[INFO] [stdout]    |
[INFO] [stdout] 90 | #[derive(Serialize)]
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `ManagerViewMessage` is not local
[INFO] [stdout]    |          `Serialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_ManagerViewMessage`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `[u8; 256]` does not permit being left uninitialized
[INFO] [stdout]   --> battlecode-engine/src/controller/streams.rs:37:43
[INFO] [stdout]    |
[INFO] [stdout] 37 |         let mut buf: [u8; 256] = unsafe { mem::uninitialized() };
[INFO] [stdout]    |                                           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           this code causes undefined behavior when executed
[INFO] [stdout]    |                                           help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout]    = note: integers must be initialized
[INFO] [stdout]    = note: `#[warn(invalid_value)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/schema.rs:19:24
[INFO] [stdout]    |
[INFO] [stdout] 19 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]    |                        ^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Delta` is not local
[INFO] [stdout]    |                        `Serialize` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Delta`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/schema.rs:19:35
[INFO] [stdout]    |
[INFO] [stdout] 19 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]    |                                   -^^^^^^^^^^
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `Delta` is not local
[INFO] [stdout]    |                                   `Deserialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Delta`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/schema.rs:66:24
[INFO] [stdout]    |
[INFO] [stdout] 66 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]    |                        ^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `StartGameMessage` is not local
[INFO] [stdout]    |                        `Serialize` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_StartGameMessage`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/schema.rs:66:35
[INFO] [stdout]    |
[INFO] [stdout] 66 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]    |                                   -^^^^^^^^^^
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `StartGameMessage` is not local
[INFO] [stdout]    |                                   `Deserialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_StartGameMessage`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/schema.rs:74:24
[INFO] [stdout]    |
[INFO] [stdout] 74 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]    |                        ^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `ViewerKeyframe` is not local
[INFO] [stdout]    |                        `Serialize` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_ViewerKeyframe`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/schema.rs:74:35
[INFO] [stdout]    |
[INFO] [stdout] 74 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]    |                                   -^^^^^^^^^^
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `ViewerKeyframe` is not local
[INFO] [stdout]    |                                   `Deserialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_ViewerKeyframe`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/schema.rs:81:24
[INFO] [stdout]    |
[INFO] [stdout] 81 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]    |                        ^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `TurnMessage` is not local
[INFO] [stdout]    |                        `Serialize` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_TurnMessage`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/schema.rs:81:35
[INFO] [stdout]    |
[INFO] [stdout] 81 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]    |                                   -^^^^^^^^^^
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `TurnMessage` is not local
[INFO] [stdout]    |                                   `Deserialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_TurnMessage`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/schema.rs:88:24
[INFO] [stdout]    |
[INFO] [stdout] 88 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]    |                        ^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `StartTurnMessage` is not local
[INFO] [stdout]    |                        `Serialize` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_StartTurnMessage`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/schema.rs:88:35
[INFO] [stdout]    |
[INFO] [stdout] 88 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]    |                                   -^^^^^^^^^^
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `StartTurnMessage` is not local
[INFO] [stdout]    |                                   `Deserialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_StartTurnMessage`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/schema.rs:112:24
[INFO] [stdout]     |
[INFO] [stdout] 112 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]     |                        ^^^^^^^^^
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `ViewerUnitInfo` is not local
[INFO] [stdout]     |                        `Serialize` is not local
[INFO] [stdout]     |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_ViewerUnitInfo`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/schema.rs:112:35
[INFO] [stdout]     |
[INFO] [stdout] 112 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]     |                                   -^^^^^^^^^^
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `ViewerUnitInfo` is not local
[INFO] [stdout]     |                                   `Deserialize` is not local
[INFO] [stdout]     |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_ViewerUnitInfo`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/schema.rs:122:24
[INFO] [stdout]     |
[INFO] [stdout] 122 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]     |                        ^^^^^^^^^
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `ViewerDelta` is not local
[INFO] [stdout]     |                        `Serialize` is not local
[INFO] [stdout]     |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_ViewerDelta`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/schema.rs:122:35
[INFO] [stdout]     |
[INFO] [stdout] 122 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]     |                                   -^^^^^^^^^^
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `ViewerDelta` is not local
[INFO] [stdout]     |                                   `Deserialize` is not local
[INFO] [stdout]     |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_ViewerDelta`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/schema.rs:133:24
[INFO] [stdout]     |
[INFO] [stdout] 133 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]     |                        ^^^^^^^^^
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `ViewerMessage` is not local
[INFO] [stdout]     |                        `Serialize` is not local
[INFO] [stdout]     |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_ViewerMessage`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/schema.rs:133:35
[INFO] [stdout]     |
[INFO] [stdout] 133 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]     |                                   -^^^^^^^^^^
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `ViewerMessage` is not local
[INFO] [stdout]     |                                   `Deserialize` is not local
[INFO] [stdout]     |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_ViewerMessage`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/schema.rs:143:24
[INFO] [stdout]     |
[INFO] [stdout] 143 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]     |                        ^^^^^^^^^
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `ErrorMessage` is not local
[INFO] [stdout]     |                        `Serialize` is not local
[INFO] [stdout]     |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_ErrorMessage`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/schema.rs:143:35
[INFO] [stdout]     |
[INFO] [stdout] 143 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]     |                                   -^^^^^^^^^^
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `ErrorMessage` is not local
[INFO] [stdout]     |                                   `Deserialize` is not local
[INFO] [stdout]     |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_ErrorMessage`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/schema.rs:149:24
[INFO] [stdout]     |
[INFO] [stdout] 149 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]     |                        ^^^^^^^^^
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `LoginMessage` is not local
[INFO] [stdout]     |                        `Serialize` is not local
[INFO] [stdout]     |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_LoginMessage`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/schema.rs:149:35
[INFO] [stdout]     |
[INFO] [stdout] 149 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]     |                                   -^^^^^^^^^^
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `LoginMessage` is not local
[INFO] [stdout]     |                                   `Deserialize` is not local
[INFO] [stdout]     |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_LoginMessage`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/schema.rs:154:24
[INFO] [stdout]     |
[INFO] [stdout] 154 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]     |                        -^^^^^^^^
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `ReceivedMessage` is not local
[INFO] [stdout]     |                        `Serialize` is not local
[INFO] [stdout]     |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_ReceivedMessage`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/schema.rs:154:35
[INFO] [stdout]     |
[INFO] [stdout] 154 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]     |                                   -^^^^^^^^^^
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `ReceivedMessage` is not local
[INFO] [stdout]     |                                   `Deserialize` is not local
[INFO] [stdout]     |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_ReceivedMessage`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/schema.rs:162:24
[INFO] [stdout]     |
[INFO] [stdout] 162 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]     |                        ^^^^^^^^^
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `SentMessage` is not local
[INFO] [stdout]     |                        `Serialize` is not local
[INFO] [stdout]     |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_SentMessage`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/schema.rs:162:35
[INFO] [stdout]     |
[INFO] [stdout] 162 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]     |                                   -^^^^^^^^^^
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `SentMessage` is not local
[INFO] [stdout]     |                                   `Deserialize` is not local
[INFO] [stdout]     |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_SentMessage`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/world.rs:26:30
[INFO] [stdout]    |
[INFO] [stdout] 26 | #[derive(Debug, Clone, Copy, Serialize, Deserialize, Hash, PartialEq, Eq)]
[INFO] [stdout]    |                              ^^^^^^^^^
[INFO] [stdout]    |                              |
[INFO] [stdout]    |                              `Team` is not local
[INFO] [stdout]    |                              `Serialize` is not local
[INFO] [stdout]    |                              move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Team`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/world.rs:26:41
[INFO] [stdout]    |
[INFO] [stdout] 26 | #[derive(Debug, Clone, Copy, Serialize, Deserialize, Hash, PartialEq, Eq)]
[INFO] [stdout]    |                                         -^^^^^^^^^^
[INFO] [stdout]    |                                         |
[INFO] [stdout]    |                                         `Team` is not local
[INFO] [stdout]    |                                         `Deserialize` is not local
[INFO] [stdout]    |                                         move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Team`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/world.rs:43:24
[INFO] [stdout]    |
[INFO] [stdout] 43 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]    |                        ^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `PlanetInfo` is not local
[INFO] [stdout]    |                        `Serialize` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_PlanetInfo`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/world.rs:43:35
[INFO] [stdout]    |
[INFO] [stdout] 43 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]    |                                   -^^^^^^^^^^
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `PlanetInfo` is not local
[INFO] [stdout]    |                                   `Deserialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_PlanetInfo`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/world.rs:111:17
[INFO] [stdout]     |
[INFO] [stdout] 111 | #[derive(Debug, Serialize, Deserialize, Clone, PartialEq)]
[INFO] [stdout]     |                 ^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `TeamInfo` is not local
[INFO] [stdout]     |                 `Serialize` is not local
[INFO] [stdout]     |                 move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_TeamInfo`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/world.rs:111:28
[INFO] [stdout]     |
[INFO] [stdout] 111 | #[derive(Debug, Serialize, Deserialize, Clone, PartialEq)]
[INFO] [stdout]     |                            -^^^^^^^^^^
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            `TeamInfo` is not local
[INFO] [stdout]     |                            `Deserialize` is not local
[INFO] [stdout]     |                            move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_TeamInfo`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/world.rs:143:17
[INFO] [stdout]     |
[INFO] [stdout] 143 | #[derive(Debug, Serialize, Deserialize, Clone, Copy, PartialEq, Eq, Hash)]
[INFO] [stdout]     |                 ^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `Player` is not local
[INFO] [stdout]     |                 `Serialize` is not local
[INFO] [stdout]     |                 move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Player`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/world.rs:143:28
[INFO] [stdout]     |
[INFO] [stdout] 143 | #[derive(Debug, Serialize, Deserialize, Clone, Copy, PartialEq, Eq, Hash)]
[INFO] [stdout]     |                            -^^^^^^^^^^
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            `Player` is not local
[INFO] [stdout]     |                            `Deserialize` is not local
[INFO] [stdout]     |                            move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Player`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/world.rs:179:17
[INFO] [stdout]     |
[INFO] [stdout] 179 | #[derive(Debug, Serialize, Deserialize, Clone, PartialEq)]
[INFO] [stdout]     |                 ^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `GameWorld` is not local
[INFO] [stdout]     |                 `Serialize` is not local
[INFO] [stdout]     |                 move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_GameWorld`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/world.rs:179:28
[INFO] [stdout]     |
[INFO] [stdout] 179 | #[derive(Debug, Serialize, Deserialize, Clone, PartialEq)]
[INFO] [stdout]     |                            -^^^^^^^^^^
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            `GameWorld` is not local
[INFO] [stdout]     |                            `Deserialize` is not local
[INFO] [stdout]     |                            move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_GameWorld`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/location.rs:15:30
[INFO] [stdout]    |
[INFO] [stdout] 15 | #[derive(Debug, Clone, Copy, Serialize, Deserialize, PartialEq, Eq)]
[INFO] [stdout]    |                              ^^^^^^^^^
[INFO] [stdout]    |                              |
[INFO] [stdout]    |                              `Direction` is not local
[INFO] [stdout]    |                              `Serialize` is not local
[INFO] [stdout]    |                              move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Direction`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/location.rs:15:41
[INFO] [stdout]    |
[INFO] [stdout] 15 | #[derive(Debug, Clone, Copy, Serialize, Deserialize, PartialEq, Eq)]
[INFO] [stdout]    |                                         -^^^^^^^^^^
[INFO] [stdout]    |                                         |
[INFO] [stdout]    |                                         `Direction` is not local
[INFO] [stdout]    |                                         `Deserialize` is not local
[INFO] [stdout]    |                                         move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Direction`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/location.rs:129:30
[INFO] [stdout]     |
[INFO] [stdout] 129 | #[derive(Debug, Clone, Copy, Serialize, Deserialize, Hash, PartialEq, Eq)]
[INFO] [stdout]     |                              ^^^^^^^^^
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              `Planet` is not local
[INFO] [stdout]     |                              `Serialize` is not local
[INFO] [stdout]     |                              move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Planet`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/location.rs:129:41
[INFO] [stdout]     |
[INFO] [stdout] 129 | #[derive(Debug, Clone, Copy, Serialize, Deserialize, Hash, PartialEq, Eq)]
[INFO] [stdout]     |                                         -^^^^^^^^^^
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         `Planet` is not local
[INFO] [stdout]     |                                         `Deserialize` is not local
[INFO] [stdout]     |                                         move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Planet`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/location.rs:146:30
[INFO] [stdout]     |
[INFO] [stdout] 146 | #[derive(Debug, Clone, Copy, Serialize, Deserialize, PartialEq, Eq, Hash)]
[INFO] [stdout]     |                              ^^^^^^^^^
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              `MapLocation` is not local
[INFO] [stdout]     |                              `Serialize` is not local
[INFO] [stdout]     |                              move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_MapLocation`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/location.rs:146:41
[INFO] [stdout]     |
[INFO] [stdout] 146 | #[derive(Debug, Clone, Copy, Serialize, Deserialize, PartialEq, Eq, Hash)]
[INFO] [stdout]     |                                         -^^^^^^^^^^
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         `MapLocation` is not local
[INFO] [stdout]     |                                         `Deserialize` is not local
[INFO] [stdout]     |                                         move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_MapLocation`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/location.rs:282:30
[INFO] [stdout]     |
[INFO] [stdout] 282 | #[derive(Debug, Clone, Copy, Serialize, Deserialize, PartialEq, Eq, Hash)]
[INFO] [stdout]     |                              ^^^^^^^^^
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              `Location` is not local
[INFO] [stdout]     |                              `Serialize` is not local
[INFO] [stdout]     |                              move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Location`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/location.rs:282:41
[INFO] [stdout]     |
[INFO] [stdout] 282 | #[derive(Debug, Clone, Copy, Serialize, Deserialize, PartialEq, Eq, Hash)]
[INFO] [stdout]     |                                         -^^^^^^^^^^
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         `Location` is not local
[INFO] [stdout]     |                                         `Deserialize` is not local
[INFO] [stdout]     |                                         move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Location`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/map/mod.rs:19:24
[INFO] [stdout]    |
[INFO] [stdout] 19 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
[INFO] [stdout]    |                        ^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Symmetry` is not local
[INFO] [stdout]    |                        `Serialize` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Symmetry`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/map/mod.rs:19:35
[INFO] [stdout]    |
[INFO] [stdout] 19 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
[INFO] [stdout]    |                                   -^^^^^^^^^^
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `Symmetry` is not local
[INFO] [stdout]    |                                   `Deserialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Symmetry`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/map/mod.rs:27:24
[INFO] [stdout]    |
[INFO] [stdout] 27 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
[INFO] [stdout]    |                        ^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `GameMap` is not local
[INFO] [stdout]    |                        `Serialize` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_GameMap`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/map/mod.rs:27:35
[INFO] [stdout]    |
[INFO] [stdout] 27 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
[INFO] [stdout]    |                                   -^^^^^^^^^^
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `GameMap` is not local
[INFO] [stdout]    |                                   `Deserialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_GameMap`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/map/mod.rs:105:24
[INFO] [stdout]     |
[INFO] [stdout] 105 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
[INFO] [stdout]     |                        ^^^^^^^^^
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `PlanetMap` is not local
[INFO] [stdout]     |                        `Serialize` is not local
[INFO] [stdout]     |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_PlanetMap`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/map/mod.rs:105:35
[INFO] [stdout]     |
[INFO] [stdout] 105 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
[INFO] [stdout]     |                                   -^^^^^^^^^^
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `PlanetMap` is not local
[INFO] [stdout]     |                                   `Deserialize` is not local
[INFO] [stdout]     |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_PlanetMap`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/map/mod.rs:402:30
[INFO] [stdout]     |
[INFO] [stdout] 402 | #[derive(Debug, Clone, Copy, Serialize, Deserialize, PartialEq, Eq)]
[INFO] [stdout]     |                              ^^^^^^^^^
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              `AsteroidStrike` is not local
[INFO] [stdout]     |                              `Serialize` is not local
[INFO] [stdout]     |                              move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_AsteroidStrike`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/map/mod.rs:402:41
[INFO] [stdout]     |
[INFO] [stdout] 402 | #[derive(Debug, Clone, Copy, Serialize, Deserialize, PartialEq, Eq)]
[INFO] [stdout]     |                                         -^^^^^^^^^^
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         `AsteroidStrike` is not local
[INFO] [stdout]     |                                         `Deserialize` is not local
[INFO] [stdout]     |                                         move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_AsteroidStrike`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/map/mod.rs:412:24
[INFO] [stdout]     |
[INFO] [stdout] 412 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
[INFO] [stdout]     |                        ^^^^^^^^^
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `AsteroidPattern` is not local
[INFO] [stdout]     |                        `Serialize` is not local
[INFO] [stdout]     |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_AsteroidPattern`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/map/mod.rs:412:35
[INFO] [stdout]     |
[INFO] [stdout] 412 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
[INFO] [stdout]     |                                   -^^^^^^^^^^
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `AsteroidPattern` is not local
[INFO] [stdout]     |                                   `Deserialize` is not local
[INFO] [stdout]     |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_AsteroidPattern`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/map/mod.rs:419:24
[INFO] [stdout]     |
[INFO] [stdout] 419 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
[INFO] [stdout]     |                        ^^^^^^^^^
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `OrbitPattern` is not local
[INFO] [stdout]     |                        `Serialize` is not local
[INFO] [stdout]     |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_OrbitPattern`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/map/mod.rs:419:35
[INFO] [stdout]     |
[INFO] [stdout] 419 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
[INFO] [stdout]     |                                   -^^^^^^^^^^
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `OrbitPattern` is not local
[INFO] [stdout]     |                                   `Deserialize` is not local
[INFO] [stdout]     |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_OrbitPattern`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/unit.rs:18:30
[INFO] [stdout]    |
[INFO] [stdout] 18 | #[derive(Debug, Clone, Copy, Serialize, Deserialize, PartialEq, Eq, Hash)]
[INFO] [stdout]    |                              ^^^^^^^^^
[INFO] [stdout]    |                              |
[INFO] [stdout]    |                              `UnitType` is not local
[INFO] [stdout]    |                              `Serialize` is not local
[INFO] [stdout]    |                              move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_UnitType`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/unit.rs:18:41
[INFO] [stdout]    |
[INFO] [stdout] 18 | #[derive(Debug, Clone, Copy, Serialize, Deserialize, PartialEq, Eq, Hash)]
[INFO] [stdout]    |                                         -^^^^^^^^^^
[INFO] [stdout]    |                                         |
[INFO] [stdout]    |                                         `UnitType` is not local
[INFO] [stdout]    |                                         `Deserialize` is not local
[INFO] [stdout]    |                                         move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_UnitType`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/unit.rs:212:24
[INFO] [stdout]     |
[INFO] [stdout] 212 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
[INFO] [stdout]     |                        ^^^^^^^^^
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `Unit` is not local
[INFO] [stdout]     |                        `Serialize` is not local
[INFO] [stdout]     |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Unit`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/unit.rs:212:35
[INFO] [stdout]     |
[INFO] [stdout] 212 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
[INFO] [stdout]     |                                   -^^^^^^^^^^
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `Unit` is not local
[INFO] [stdout]     |                                   `Deserialize` is not local
[INFO] [stdout]     |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Unit`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/research.rs:50:17
[INFO] [stdout]    |
[INFO] [stdout] 50 | #[derive(Debug, Serialize, Deserialize, PartialEq, Eq, Clone)]
[INFO] [stdout]    |                 ^^^^^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `ResearchInfo` is not local
[INFO] [stdout]    |                 `Serialize` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_ResearchInfo`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/research.rs:50:28
[INFO] [stdout]    |
[INFO] [stdout] 50 | #[derive(Debug, Serialize, Deserialize, PartialEq, Eq, Clone)]
[INFO] [stdout]    |                            -^^^^^^^^^^
[INFO] [stdout]    |                            |
[INFO] [stdout]    |                            `ResearchInfo` is not local
[INFO] [stdout]    |                            `Deserialize` is not local
[INFO] [stdout]    |                            move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_ResearchInfo`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/rockets.rs:11:30
[INFO] [stdout]    |
[INFO] [stdout] 11 | #[derive(Debug, Clone, Copy, Serialize, Deserialize, PartialEq, Eq)]
[INFO] [stdout]    |                              ^^^^^^^^^
[INFO] [stdout]    |                              |
[INFO] [stdout]    |                              `RocketLanding` is not local
[INFO] [stdout]    |                              `Serialize` is not local
[INFO] [stdout]    |                              move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_RocketLanding`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/rockets.rs:11:41
[INFO] [stdout]    |
[INFO] [stdout] 11 | #[derive(Debug, Clone, Copy, Serialize, Deserialize, PartialEq, Eq)]
[INFO] [stdout]    |                                         -^^^^^^^^^^
[INFO] [stdout]    |                                         |
[INFO] [stdout]    |                                         `RocketLanding` is not local
[INFO] [stdout]    |                                         `Deserialize` is not local
[INFO] [stdout]    |                                         move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_RocketLanding`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/rockets.rs:42:24
[INFO] [stdout]    |
[INFO] [stdout] 42 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
[INFO] [stdout]    |                        ^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `RocketLandingInfo` is not local
[INFO] [stdout]    |                        `Serialize` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_RocketLandingInfo`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/rockets.rs:42:35
[INFO] [stdout]    |
[INFO] [stdout] 42 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
[INFO] [stdout]    |                                   -^^^^^^^^^^
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `RocketLandingInfo` is not local
[INFO] [stdout]    |                                   `Deserialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_RocketLandingInfo`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/team_array.rs:17:24
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
[INFO] [stdout]    |                        ^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `TeamArrayInfo` is not local
[INFO] [stdout]    |                        `Serialize` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_TeamArrayInfo`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/team_array.rs:17:35
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
[INFO] [stdout]    |                                   -^^^^^^^^^^
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `TeamArrayInfo` is not local
[INFO] [stdout]    |                                   `Deserialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_TeamArrayInfo`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/id_generator.rs:18:24
[INFO] [stdout]    |
[INFO] [stdout] 18 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]    |                        ^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `IDGenerator` is not local
[INFO] [stdout]    |                        `Serialize` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_IDGenerator`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/id_generator.rs:18:35
[INFO] [stdout]    |
[INFO] [stdout] 18 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]    |                                   -^^^^^^^^^^
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `IDGenerator` is not local
[INFO] [stdout]    |                                   `Deserialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_IDGenerator`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `map`
[INFO] [stdout]    --> battlecode-engine/src/map/mapparser.rs:428:13
[INFO] [stdout]     |
[INFO] [stdout] 428 |         let map = parse_text_map(fat).unwrap();
[INFO] [stdout]     |             ^^^ help: if this is intentional, prefix it with an underscore: `_map`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> battlecode-engine/examples/runner.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bc::map::*`
[INFO] [stdout]   --> battlecode-engine/examples/runner.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use bc::map::*;
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Team::*`
[INFO] [stdout]   --> battlecode-engine/examples/runner.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use Team::*;
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Direction::*`
[INFO] [stdout]   --> battlecode-engine/examples/runner.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use Direction::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused label
[INFO] [stdout]   --> battlecode-engine/examples/runner.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 30 |     'unit: for unit in gc.my_units() {
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_labels)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `gc`
[INFO] [stdout]   --> battlecode-engine/examples/runner.rs:94:15
[INFO] [stdout]    |
[INFO] [stdout] 94 | fn nothingbot(gc: &mut GameController) -> Result<(), Error> {
[INFO] [stdout]    |               ^^ help: if this is intentional, prefix it with an underscore: `_gc`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> battlecode-engine/examples/runner.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 |     gc.queue_research(Rocket);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 26 |     let _ = gc.queue_research(Rocket);
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> battlecode-engine/examples/runner.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 |     gc.queue_research(Worker);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 27 |     let _ = gc.queue_research(Worker);
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> battlecode-engine/examples/runner.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 |     gc.queue_research(Knight);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 28 |     let _ = gc.queue_research(Knight);
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> battlecode-engine/examples/runner.rs:57:25
[INFO] [stdout]    |
[INFO] [stdout] 57 |                         gc.attack(unit.id(), other.id());
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 57 |                         let _ = gc.attack(unit.id(), other.id());
[INFO] [stdout]    |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> battlecode-engine/examples/runner.rs:64:29
[INFO] [stdout]    |
[INFO] [stdout] 64 | ...                   gc.move_robot(unit.id(), dir);
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 64 |                             let _ = gc.move_robot(unit.id(), dir);
[INFO] [stdout]    |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/controller/mod.rs:90:10
[INFO] [stdout]    |
[INFO] [stdout] 90 | #[derive(Serialize)]
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `ManagerViewMessage` is not local
[INFO] [stdout]    |          `Serialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_ManagerViewMessage`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `[u8; 256]` does not permit being left uninitialized
[INFO] [stdout]   --> battlecode-engine/src/controller/streams.rs:37:43
[INFO] [stdout]    |
[INFO] [stdout] 37 |         let mut buf: [u8; 256] = unsafe { mem::uninitialized() };
[INFO] [stdout]    |                                           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           this code causes undefined behavior when executed
[INFO] [stdout]    |                                           help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout]    = note: integers must be initialized
[INFO] [stdout]    = note: `#[warn(invalid_value)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/schema.rs:19:24
[INFO] [stdout]    |
[INFO] [stdout] 19 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]    |                        ^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Delta` is not local
[INFO] [stdout]    |                        `Serialize` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Delta`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/schema.rs:19:35
[INFO] [stdout]    |
[INFO] [stdout] 19 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]    |                                   -^^^^^^^^^^
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `Delta` is not local
[INFO] [stdout]    |                                   `Deserialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Delta`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/schema.rs:66:24
[INFO] [stdout]    |
[INFO] [stdout] 66 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]    |                        ^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `StartGameMessage` is not local
[INFO] [stdout]    |                        `Serialize` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_StartGameMessage`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/schema.rs:66:35
[INFO] [stdout]    |
[INFO] [stdout] 66 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]    |                                   -^^^^^^^^^^
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `StartGameMessage` is not local
[INFO] [stdout]    |                                   `Deserialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_StartGameMessage`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/schema.rs:74:24
[INFO] [stdout]    |
[INFO] [stdout] 74 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]    |                        ^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `ViewerKeyframe` is not local
[INFO] [stdout]    |                        `Serialize` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_ViewerKeyframe`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/schema.rs:74:35
[INFO] [stdout]    |
[INFO] [stdout] 74 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]    |                                   -^^^^^^^^^^
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `ViewerKeyframe` is not local
[INFO] [stdout]    |                                   `Deserialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_ViewerKeyframe`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/schema.rs:81:24
[INFO] [stdout]    |
[INFO] [stdout] 81 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]    |                        ^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `TurnMessage` is not local
[INFO] [stdout]    |                        `Serialize` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_TurnMessage`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/schema.rs:81:35
[INFO] [stdout]    |
[INFO] [stdout] 81 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]    |                                   -^^^^^^^^^^
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `TurnMessage` is not local
[INFO] [stdout]    |                                   `Deserialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_TurnMessage`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/schema.rs:88:24
[INFO] [stdout]    |
[INFO] [stdout] 88 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]    |                        ^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `StartTurnMessage` is not local
[INFO] [stdout]    |                        `Serialize` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_StartTurnMessage`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/schema.rs:88:35
[INFO] [stdout]    |
[INFO] [stdout] 88 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]    |                                   -^^^^^^^^^^
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `StartTurnMessage` is not local
[INFO] [stdout]    |                                   `Deserialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_StartTurnMessage`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/schema.rs:112:24
[INFO] [stdout]     |
[INFO] [stdout] 112 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]     |                        ^^^^^^^^^
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `ViewerUnitInfo` is not local
[INFO] [stdout]     |                        `Serialize` is not local
[INFO] [stdout]     |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_ViewerUnitInfo`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/schema.rs:112:35
[INFO] [stdout]     |
[INFO] [stdout] 112 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]     |                                   -^^^^^^^^^^
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `ViewerUnitInfo` is not local
[INFO] [stdout]     |                                   `Deserialize` is not local
[INFO] [stdout]     |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_ViewerUnitInfo`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/schema.rs:122:24
[INFO] [stdout]     |
[INFO] [stdout] 122 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]     |                        ^^^^^^^^^
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `ViewerDelta` is not local
[INFO] [stdout]     |                        `Serialize` is not local
[INFO] [stdout]     |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_ViewerDelta`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/schema.rs:122:35
[INFO] [stdout]     |
[INFO] [stdout] 122 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]     |                                   -^^^^^^^^^^
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `ViewerDelta` is not local
[INFO] [stdout]     |                                   `Deserialize` is not local
[INFO] [stdout]     |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_ViewerDelta`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/schema.rs:133:24
[INFO] [stdout]     |
[INFO] [stdout] 133 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]     |                        ^^^^^^^^^
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `ViewerMessage` is not local
[INFO] [stdout]     |                        `Serialize` is not local
[INFO] [stdout]     |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_ViewerMessage`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/schema.rs:133:35
[INFO] [stdout]     |
[INFO] [stdout] 133 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]     |                                   -^^^^^^^^^^
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `ViewerMessage` is not local
[INFO] [stdout]     |                                   `Deserialize` is not local
[INFO] [stdout]     |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_ViewerMessage`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/schema.rs:143:24
[INFO] [stdout]     |
[INFO] [stdout] 143 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]     |                        ^^^^^^^^^
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `ErrorMessage` is not local
[INFO] [stdout]     |                        `Serialize` is not local
[INFO] [stdout]     |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_ErrorMessage`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/schema.rs:143:35
[INFO] [stdout]     |
[INFO] [stdout] 143 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]     |                                   -^^^^^^^^^^
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `ErrorMessage` is not local
[INFO] [stdout]     |                                   `Deserialize` is not local
[INFO] [stdout]     |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_ErrorMessage`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/schema.rs:149:24
[INFO] [stdout]     |
[INFO] [stdout] 149 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]     |                        ^^^^^^^^^
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `LoginMessage` is not local
[INFO] [stdout]     |                        `Serialize` is not local
[INFO] [stdout]     |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_LoginMessage`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/schema.rs:149:35
[INFO] [stdout]     |
[INFO] [stdout] 149 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]     |                                   -^^^^^^^^^^
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `LoginMessage` is not local
[INFO] [stdout]     |                                   `Deserialize` is not local
[INFO] [stdout]     |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_LoginMessage`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/schema.rs:154:24
[INFO] [stdout]     |
[INFO] [stdout] 154 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]     |                        -^^^^^^^^
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `ReceivedMessage` is not local
[INFO] [stdout]     |                        `Serialize` is not local
[INFO] [stdout]     |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_ReceivedMessage`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/schema.rs:154:35
[INFO] [stdout]     |
[INFO] [stdout] 154 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]     |                                   -^^^^^^^^^^
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `ReceivedMessage` is not local
[INFO] [stdout]     |                                   `Deserialize` is not local
[INFO] [stdout]     |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_ReceivedMessage`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/schema.rs:162:24
[INFO] [stdout]     |
[INFO] [stdout] 162 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]     |                        ^^^^^^^^^
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `SentMessage` is not local
[INFO] [stdout]     |                        `Serialize` is not local
[INFO] [stdout]     |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_SentMessage`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/schema.rs:162:35
[INFO] [stdout]     |
[INFO] [stdout] 162 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]     |                                   -^^^^^^^^^^
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `SentMessage` is not local
[INFO] [stdout]     |                                   `Deserialize` is not local
[INFO] [stdout]     |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_SentMessage`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/world.rs:26:30
[INFO] [stdout]    |
[INFO] [stdout] 26 | #[derive(Debug, Clone, Copy, Serialize, Deserialize, Hash, PartialEq, Eq)]
[INFO] [stdout]    |                              ^^^^^^^^^
[INFO] [stdout]    |                              |
[INFO] [stdout]    |                              `Team` is not local
[INFO] [stdout]    |                              `Serialize` is not local
[INFO] [stdout]    |                              move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Team`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/world.rs:26:41
[INFO] [stdout]    |
[INFO] [stdout] 26 | #[derive(Debug, Clone, Copy, Serialize, Deserialize, Hash, PartialEq, Eq)]
[INFO] [stdout]    |                                         -^^^^^^^^^^
[INFO] [stdout]    |                                         |
[INFO] [stdout]    |                                         `Team` is not local
[INFO] [stdout]    |                                         `Deserialize` is not local
[INFO] [stdout]    |                                         move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Team`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/world.rs:43:24
[INFO] [stdout]    |
[INFO] [stdout] 43 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]    |                        ^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `PlanetInfo` is not local
[INFO] [stdout]    |                        `Serialize` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_PlanetInfo`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/world.rs:43:35
[INFO] [stdout]    |
[INFO] [stdout] 43 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]    |                                   -^^^^^^^^^^
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `PlanetInfo` is not local
[INFO] [stdout]    |                                   `Deserialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_PlanetInfo`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/world.rs:111:17
[INFO] [stdout]     |
[INFO] [stdout] 111 | #[derive(Debug, Serialize, Deserialize, Clone, PartialEq)]
[INFO] [stdout]     |                 ^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `TeamInfo` is not local
[INFO] [stdout]     |                 `Serialize` is not local
[INFO] [stdout]     |                 move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_TeamInfo`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/world.rs:111:28
[INFO] [stdout]     |
[INFO] [stdout] 111 | #[derive(Debug, Serialize, Deserialize, Clone, PartialEq)]
[INFO] [stdout]     |                            -^^^^^^^^^^
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            `TeamInfo` is not local
[INFO] [stdout]     |                            `Deserialize` is not local
[INFO] [stdout]     |                            move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_TeamInfo`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/world.rs:143:17
[INFO] [stdout]     |
[INFO] [stdout] 143 | #[derive(Debug, Serialize, Deserialize, Clone, Copy, PartialEq, Eq, Hash)]
[INFO] [stdout]     |                 ^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `Player` is not local
[INFO] [stdout]     |                 `Serialize` is not local
[INFO] [stdout]     |                 move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Player`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/world.rs:143:28
[INFO] [stdout]     |
[INFO] [stdout] 143 | #[derive(Debug, Serialize, Deserialize, Clone, Copy, PartialEq, Eq, Hash)]
[INFO] [stdout]     |                            -^^^^^^^^^^
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            `Player` is not local
[INFO] [stdout]     |                            `Deserialize` is not local
[INFO] [stdout]     |                            move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Player`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/world.rs:179:17
[INFO] [stdout]     |
[INFO] [stdout] 179 | #[derive(Debug, Serialize, Deserialize, Clone, PartialEq)]
[INFO] [stdout]     |                 ^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `GameWorld` is not local
[INFO] [stdout]     |                 `Serialize` is not local
[INFO] [stdout]     |                 move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_GameWorld`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/world.rs:179:28
[INFO] [stdout]     |
[INFO] [stdout] 179 | #[derive(Debug, Serialize, Deserialize, Clone, PartialEq)]
[INFO] [stdout]     |                            -^^^^^^^^^^
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            `GameWorld` is not local
[INFO] [stdout]     |                            `Deserialize` is not local
[INFO] [stdout]     |                            move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_GameWorld`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/location.rs:15:30
[INFO] [stdout]    |
[INFO] [stdout] 15 | #[derive(Debug, Clone, Copy, Serialize, Deserialize, PartialEq, Eq)]
[INFO] [stdout]    |                              ^^^^^^^^^
[INFO] [stdout]    |                              |
[INFO] [stdout]    |                              `Direction` is not local
[INFO] [stdout]    |                              `Serialize` is not local
[INFO] [stdout]    |                              move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Direction`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/location.rs:15:41
[INFO] [stdout]    |
[INFO] [stdout] 15 | #[derive(Debug, Clone, Copy, Serialize, Deserialize, PartialEq, Eq)]
[INFO] [stdout]    |                                         -^^^^^^^^^^
[INFO] [stdout]    |                                         |
[INFO] [stdout]    |                                         `Direction` is not local
[INFO] [stdout]    |                                         `Deserialize` is not local
[INFO] [stdout]    |                                         move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Direction`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/location.rs:129:30
[INFO] [stdout]     |
[INFO] [stdout] 129 | #[derive(Debug, Clone, Copy, Serialize, Deserialize, Hash, PartialEq, Eq)]
[INFO] [stdout]     |                              ^^^^^^^^^
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              `Planet` is not local
[INFO] [stdout]     |                              `Serialize` is not local
[INFO] [stdout]     |                              move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Planet`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/location.rs:129:41
[INFO] [stdout]     |
[INFO] [stdout] 129 | #[derive(Debug, Clone, Copy, Serialize, Deserialize, Hash, PartialEq, Eq)]
[INFO] [stdout]     |                                         -^^^^^^^^^^
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         `Planet` is not local
[INFO] [stdout]     |                                         `Deserialize` is not local
[INFO] [stdout]     |                                         move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Planet`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/location.rs:146:30
[INFO] [stdout]     |
[INFO] [stdout] 146 | #[derive(Debug, Clone, Copy, Serialize, Deserialize, PartialEq, Eq, Hash)]
[INFO] [stdout]     |                              ^^^^^^^^^
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              `MapLocation` is not local
[INFO] [stdout]     |                              `Serialize` is not local
[INFO] [stdout]     |                              move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_MapLocation`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/location.rs:146:41
[INFO] [stdout]     |
[INFO] [stdout] 146 | #[derive(Debug, Clone, Copy, Serialize, Deserialize, PartialEq, Eq, Hash)]
[INFO] [stdout]     |                                         -^^^^^^^^^^
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         `MapLocation` is not local
[INFO] [stdout]     |                                         `Deserialize` is not local
[INFO] [stdout]     |                                         move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_MapLocation`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/location.rs:282:30
[INFO] [stdout]     |
[INFO] [stdout] 282 | #[derive(Debug, Clone, Copy, Serialize, Deserialize, PartialEq, Eq, Hash)]
[INFO] [stdout]     |                              ^^^^^^^^^
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              `Location` is not local
[INFO] [stdout]     |                              `Serialize` is not local
[INFO] [stdout]     |                              move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Location`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/location.rs:282:41
[INFO] [stdout]     |
[INFO] [stdout] 282 | #[derive(Debug, Clone, Copy, Serialize, Deserialize, PartialEq, Eq, Hash)]
[INFO] [stdout]     |                                         -^^^^^^^^^^
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         `Location` is not local
[INFO] [stdout]     |                                         `Deserialize` is not local
[INFO] [stdout]     |                                         move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Location`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/map/mod.rs:19:24
[INFO] [stdout]    |
[INFO] [stdout] 19 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
[INFO] [stdout]    |                        ^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Symmetry` is not local
[INFO] [stdout]    |                        `Serialize` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Symmetry`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/map/mod.rs:19:35
[INFO] [stdout]    |
[INFO] [stdout] 19 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
[INFO] [stdout]    |                                   -^^^^^^^^^^
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `Symmetry` is not local
[INFO] [stdout]    |                                   `Deserialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Symmetry`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/map/mod.rs:27:24
[INFO] [stdout]    |
[INFO] [stdout] 27 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
[INFO] [stdout]    |                        ^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `GameMap` is not local
[INFO] [stdout]    |                        `Serialize` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_GameMap`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/map/mod.rs:27:35
[INFO] [stdout]    |
[INFO] [stdout] 27 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
[INFO] [stdout]    |                                   -^^^^^^^^^^
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `GameMap` is not local
[INFO] [stdout]    |                                   `Deserialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_GameMap`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/map/mod.rs:105:24
[INFO] [stdout]     |
[INFO] [stdout] 105 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
[INFO] [stdout]     |                        ^^^^^^^^^
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `PlanetMap` is not local
[INFO] [stdout]     |                        `Serialize` is not local
[INFO] [stdout]     |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_PlanetMap`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/map/mod.rs:105:35
[INFO] [stdout]     |
[INFO] [stdout] 105 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
[INFO] [stdout]     |                                   -^^^^^^^^^^
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `PlanetMap` is not local
[INFO] [stdout]     |                                   `Deserialize` is not local
[INFO] [stdout]     |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_PlanetMap`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/map/mod.rs:402:30
[INFO] [stdout]     |
[INFO] [stdout] 402 | #[derive(Debug, Clone, Copy, Serialize, Deserialize, PartialEq, Eq)]
[INFO] [stdout]     |                              ^^^^^^^^^
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              `AsteroidStrike` is not local
[INFO] [stdout]     |                              `Serialize` is not local
[INFO] [stdout]     |                              move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_AsteroidStrike`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/map/mod.rs:402:41
[INFO] [stdout]     |
[INFO] [stdout] 402 | #[derive(Debug, Clone, Copy, Serialize, Deserialize, PartialEq, Eq)]
[INFO] [stdout]     |                                         -^^^^^^^^^^
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         `AsteroidStrike` is not local
[INFO] [stdout]     |                                         `Deserialize` is not local
[INFO] [stdout]     |                                         move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_AsteroidStrike`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/map/mod.rs:412:24
[INFO] [stdout]     |
[INFO] [stdout] 412 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
[INFO] [stdout]     |                        ^^^^^^^^^
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `AsteroidPattern` is not local
[INFO] [stdout]     |                        `Serialize` is not local
[INFO] [stdout]     |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_AsteroidPattern`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/map/mod.rs:412:35
[INFO] [stdout]     |
[INFO] [stdout] 412 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
[INFO] [stdout]     |                                   -^^^^^^^^^^
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `AsteroidPattern` is not local
[INFO] [stdout]     |                                   `Deserialize` is not local
[INFO] [stdout]     |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_AsteroidPattern`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/map/mod.rs:419:24
[INFO] [stdout]     |
[INFO] [stdout] 419 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
[INFO] [stdout]     |                        ^^^^^^^^^
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `OrbitPattern` is not local
[INFO] [stdout]     |                        `Serialize` is not local
[INFO] [stdout]     |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_OrbitPattern`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/map/mod.rs:419:35
[INFO] [stdout]     |
[INFO] [stdout] 419 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
[INFO] [stdout]     |                                   -^^^^^^^^^^
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `OrbitPattern` is not local
[INFO] [stdout]     |                                   `Deserialize` is not local
[INFO] [stdout]     |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_OrbitPattern`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/unit.rs:18:30
[INFO] [stdout]    |
[INFO] [stdout] 18 | #[derive(Debug, Clone, Copy, Serialize, Deserialize, PartialEq, Eq, Hash)]
[INFO] [stdout]    |                              ^^^^^^^^^
[INFO] [stdout]    |                              |
[INFO] [stdout]    |                              `UnitType` is not local
[INFO] [stdout]    |                              `Serialize` is not local
[INFO] [stdout]    |                              move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_UnitType`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/unit.rs:18:41
[INFO] [stdout]    |
[INFO] [stdout] 18 | #[derive(Debug, Clone, Copy, Serialize, Deserialize, PartialEq, Eq, Hash)]
[INFO] [stdout]    |                                         -^^^^^^^^^^
[INFO] [stdout]    |                                         |
[INFO] [stdout]    |                                         `UnitType` is not local
[INFO] [stdout]    |                                         `Deserialize` is not local
[INFO] [stdout]    |                                         move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_UnitType`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/unit.rs:212:24
[INFO] [stdout]     |
[INFO] [stdout] 212 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
[INFO] [stdout]     |                        ^^^^^^^^^
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `Unit` is not local
[INFO] [stdout]     |                        `Serialize` is not local
[INFO] [stdout]     |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Unit`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/unit.rs:212:35
[INFO] [stdout]     |
[INFO] [stdout] 212 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
[INFO] [stdout]     |                                   -^^^^^^^^^^
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `Unit` is not local
[INFO] [stdout]     |                                   `Deserialize` is not local
[INFO] [stdout]     |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Unit`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/research.rs:50:17
[INFO] [stdout]    |
[INFO] [stdout] 50 | #[derive(Debug, Serialize, Deserialize, PartialEq, Eq, Clone)]
[INFO] [stdout]    |                 ^^^^^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `ResearchInfo` is not local
[INFO] [stdout]    |                 `Serialize` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_ResearchInfo`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/research.rs:50:28
[INFO] [stdout]    |
[INFO] [stdout] 50 | #[derive(Debug, Serialize, Deserialize, PartialEq, Eq, Clone)]
[INFO] [stdout]    |                            -^^^^^^^^^^
[INFO] [stdout]    |                            |
[INFO] [stdout]    |                            `ResearchInfo` is not local
[INFO] [stdout]    |                            `Deserialize` is not local
[INFO] [stdout]    |                            move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_ResearchInfo`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/rockets.rs:11:30
[INFO] [stdout]    |
[INFO] [stdout] 11 | #[derive(Debug, Clone, Copy, Serialize, Deserialize, PartialEq, Eq)]
[INFO] [stdout]    |                              ^^^^^^^^^
[INFO] [stdout]    |                              |
[INFO] [stdout]    |                              `RocketLanding` is not local
[INFO] [stdout]    |                              `Serialize` is not local
[INFO] [stdout]    |                              move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_RocketLanding`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/rockets.rs:11:41
[INFO] [stdout]    |
[INFO] [stdout] 11 | #[derive(Debug, Clone, Copy, Serialize, Deserialize, PartialEq, Eq)]
[INFO] [stdout]    |                                         -^^^^^^^^^^
[INFO] [stdout]    |                                         |
[INFO] [stdout]    |                                         `RocketLanding` is not local
[INFO] [stdout]    |                                         `Deserialize` is not local
[INFO] [stdout]    |                                         move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_RocketLanding`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/rockets.rs:42:24
[INFO] [stdout]    |
[INFO] [stdout] 42 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
[INFO] [stdout]    |                        ^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `RocketLandingInfo` is not local
[INFO] [stdout]    |                        `Serialize` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_RocketLandingInfo`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/rockets.rs:42:35
[INFO] [stdout]    |
[INFO] [stdout] 42 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
[INFO] [stdout]    |                                   -^^^^^^^^^^
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `RocketLandingInfo` is not local
[INFO] [stdout]    |                                   `Deserialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_RocketLandingInfo`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/team_array.rs:17:24
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
[INFO] [stdout]    |                        ^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `TeamArrayInfo` is not local
[INFO] [stdout]    |                        `Serialize` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_TeamArrayInfo`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/team_array.rs:17:35
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
[INFO] [stdout]    |                                   -^^^^^^^^^^
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `TeamArrayInfo` is not local
[INFO] [stdout]    |                                   `Deserialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_TeamArrayInfo`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/id_generator.rs:18:24
[INFO] [stdout]    |
[INFO] [stdout] 18 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]    |                        ^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `IDGenerator` is not local
[INFO] [stdout]    |                        `Serialize` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_IDGenerator`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/id_generator.rs:18:35
[INFO] [stdout]    |
[INFO] [stdout] 18 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]    |                                   -^^^^^^^^^^
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `IDGenerator` is not local
[INFO] [stdout]    |                                   `Deserialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_IDGenerator`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 20.93s
[INFO] [stderr] crater-edition-check: all finished
[INFO] running `Command { std: "docker" "inspect" "b6c70fd4e4c784746212eceb06ef666b4f54e10c56e16e2d05cac4ff1ccb04db", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b6c70fd4e4c784746212eceb06ef666b4f54e10c56e16e2d05cac4ff1ccb04db", kill_on_drop: false }`
[INFO] [stdout] b6c70fd4e4c784746212eceb06ef666b4f54e10c56e16e2d05cac4ff1ccb04db
